﻿#include "EWD.h"
#include "dataThread.h"



//左上角坐标，宽和高，亮度
void drawEWD(double x, double y, double w, double h, BYTE alpha, double LV, double angle) {
	ege_enable_aa(true); // 启用抗锯齿和混合
	setrendermode(RENDER_MANUAL); // 确保使用手动渲染模式
	settextjustify(CENTER_TEXT, CENTER_TEXT);//字体对齐方式,居中对齐
	darwbk(x,y,w,h,alpha, LV);//图形
	font(x, y, w, h, alpha, LV);//字
	draw_left(x,y,w,h,angle,LV,alpha);
	draw_right(x, y, w, h, angle,LV,alpha);
	upDate(x, y, w, h, alpha, LV);

	if (sharedData.Wheel == 1) {
		WHEEL_bk(x, y, w, h, alpha, LV);
		WHEEL_font(x, y, w, h, alpha, LV);
		WHEEL_upDate(x, y, w, h, alpha, LV);
	}
	else if (sharedData.Eng == 1) {
		ENG_bk(x, y, w, h, alpha, LV);
		ENG_font(x, y, w, h, alpha, LV);
		ENG_upDate(x, y, w, h, alpha, LV);
	}
	else if (sharedData.Defrd == 1) {
		DEFRD(x, y, w, h, alpha, LV);
	}
	else {
		ENG_bk(x, y, w, h, alpha, LV);
		ENG_font(x, y, w, h, alpha, LV);
		ENG_upDate(x, y, w, h, alpha, LV);
	}
	
	
}

//void date() {
//	const char* IP = "127.0.0.1";      // IP Address of computer running X-Plane
//	XPCSocket sock = openUDP(IP);
//
//	// 定义所有需要获取的 DREF 路径（按顺序）
//	const char* drefs[] = {
//		"AirbusFBW/WriteFOB",          // FOB
//		"sim/flightmodel/weight/m_total",            // GW
//		"sim/cockpit2/temperature/outside_air_LE_temp_deg",  // TAT
//		"AirbusFBW/CGLocationPercent",       // GW_CG
//		"sim/cockpit2/temperature/outside_air_temp_deg",         // SAT
//		"sim/flightmodel/weight/m_fuel_total",  // FOB
//		"1-sim/ind/eng/curTHR/L", // THR
//		"sim/cockpit/pressure/cabin_pressure_differential_psi", // PSI
//		"sim/cockpit2/pressurization/indicators/cabin_altitude_ft",        // FT
//		"AirbusFBW/THRRatingN1",        // N1
//		
//	};
//
//	float* values[10];
//
//	unsigned char count = 10;
//
//	int sizes[10];
//
//	for (int i = 0; i < 10; i++)
//	{
//		sizes[i] = 1;
//		values[i] = (float*)malloc(1 * sizeof(float));
//
//	}
//
//	// 调用 getDREFs 函数
//	int result = getDREFs(sock, drefs, values, count, sizes);
//
//	// 错误处理
//	if (result < 0) {
//		sock = openUDP(IP);  // 重新连接
//	}
//	else {
//		// 解析数据（需严格对应 drefs 顺序）
//		//sharedData.pitch = -values[0][0];
//		FOB = values[0][0];
//		GW = values[0][0];
//		TAT = values[0][0];
//		GW_CG = values[0][0];
//		SAT = values[0][0];
//		FOB = values[0][0];
//		THR = values[0][0];
//		PSI = values[0][0];
//		FT = values[0][0];
//		N1 = values[0][0];
//	}
//
//}


void darwbk(double x, double y, double w, double h,BYTE alpha, double LV) {
	setfillcolor(BLACK);
	ege_fillrect(x, y, w, h);//黑色背景  

	setlinecolor(EGEARGB(alpha,(int)(153 * LV), (int)(153 * LV), (int)(153 * LV)));//上下分界线颜色
	setlinewidth(w / 680 * 2);//线条粗细
	ege_line(x, y + h * 11 / 43, x + w, y + h * 11 / 43);//上分界线
	ege_line(x, y + h * 39 / 43, x + w, y + h * 39 / 43);//下分界线
	ege_line(x + w * 44 / 136,y + h * 39 / 43, x + w * 44 / 136, y + h);//下分界线第一竖线
	ege_line(x + w * 46 / 68, y + h * 39 / 43, x + w * 46 / 68, y + h);//下分界线第二竖线

	ege_rectangle(x + w * 63 / 680,y + h * 180 / 860,w * 65 / 680, h * 30 / 860);//上1矩形
	ege_rectangle(x + w * 220 / 680, y + h * 130 / 860, w * 85 / 680, h * 30 / 860);//上2矩形
	ege_rectangle(x + w * 430 / 680, y + h * 130 / 860, w * 85 / 680, h * 30 / 860);//上3矩形
	ege_rectangle(x + w * 560 / 680, y + h * 180 / 860, w * 65 / 680, h * 30 / 860);//上4矩形

	setlinewidth(w / 680 * 2);//线条粗细
	setcolor(EGERGBA((int)(221 * LV), (int)(221 * LV), (int)(221 * LV),alpha));//白色弧
	ege_arc(x + w * 40 / 680,y + h * 140 / 860,110 * w / 680,110 * w / 680,180,180);//上1弧
	ege_arc(x + w * 537 / 680, y + h * 140 / 860, 110 * w / 680, 110 * w / 680, 180, 180);//上4弧

	setfillcolor(EGERGBA( (int)(46 * LV), (int)(46 * LV), (int)(47 * LV),alpha));//填充扇形
	ege_fillpie(x + w * (232-55) / 680, y + h * 65 / 860, 110 * w / 680, 110 * w / 680, 140, 220);//上1扇形
	ege_fillpie(x + w * (443-55) / 680, y + h * 65 / 860, 110 * w / 680, 110 * w / 680, 140, 220);//上2扇形
	setlinewidth(w / 680 * 2);//线条粗细
	ege_arc(x + w * (232 - 55) / 680, y + h * 65 / 860, 110 * w / 680, 110 * w / 680, 140, 220);//上2弧
	ege_arc(x + w * (443 - 55) / 680, y + h * 65 / 860, 110 * w / 680, 110 * w / 680, 140, 220);//上3弧
	
	{
		ege_line(x + w * 498 / 680,y + h * 120 / 860, x + w * 485 / 680, y + h * 120 / 860);
		double x1, y1, x2, y2,rad;
		for (int i = 1; i <= 3; i++) {
			rad = ((i - 1) * -110 + 360) * M_PI / 180;
			x1 = x + w * 498 / 680;
			y1 = y + h * 120 / 860;
			rotate_point(&x1, &y1,x + w * 443 / 680 ,y + h * 120 /860 , rad);//旋转坐标
			x2 = x + w * 485 / 680;
			y2 = y + h * 120 / 860;
			rotate_point(&x2, &y2, x + w * 443 / 680, y + h * 120 / 860, rad);//旋转坐标
			ege_line(x1,y1,x2,y2);
		}//上2扇形长刻度
		ege_line(x + w * 498 / 680, y + h * 120 / 860, x + w * 494 / 680, y + h * 120 / 860);
		for (int i = 1; i <= 2; i++) {
			rad = ((i - 1) * -110 + 305) * M_PI / 180;
			x1 = x + w * 498 / 680;
			y1 = y + h * 120 / 860;
			rotate_point(&x1, &y1, x + w * 443 / 680, y + h * 120 / 860, rad);//旋转坐标
			x2 = x + w * 494 / 680;
			y2 = y + h * 120 / 860;
			rotate_point(&x2, &y2, x + w * 443 / 680, y + h * 120 / 860, rad);//旋转坐标
			ege_line(x1, y1, x2, y2);
		}//上2扇形短刻度


		ege_line(x + w * 273 / 680, y + h * 120 / 860, x + w * 286 / 680, y + h * 120 / 860);
		for (int i = 1; i <= 3; i++) {
			rad = ((i - 1) * -110 + 360) * M_PI / 180;
			x1 = x + w * 273 / 680;
			y1 = y + h * 120 / 860;
			rotate_point(&x1, &y1, x + w * 232 / 680, y + h * 120 / 860, rad);//旋转坐标
			x2 = x + w * 286 / 680;
			y2 = y + h * 120 / 860;
			rotate_point(&x2, &y2, x + w * 232 / 680, y + h * 120 / 860, rad);//旋转坐标
			ege_line(x1, y1, x2, y2);
		}//上1扇形长刻度
		ege_line(x + w * 282 / 680, y + h * 120 / 860, x + w * 286 / 680, y + h * 120 / 860);
		for (int i = 1; i <= 2; i++) {
			rad = ((i - 1) * -110 + 305) * M_PI / 180;
			x1 = x + w * 282 / 680;
			y1 = y + h * 120 / 860;
			rotate_point(&x1, &y1, x + w * 232 / 680, y + h * 120 / 860, rad);//旋转坐标
			x2 = x + w * 286 / 680;
			y2 = y + h * 120 / 860;
			rotate_point(&x2, &y2, x + w * 232 / 680, y + h * 120 / 860, rad);//旋转坐标
			ege_line(x1, y1, x2, y2);
		}//上1扇形短刻度

	}//扇形刻度

	{
		setlinewidth(w / 680 * 2);//线条粗细
		setcolor(EGERGBA((int)(213 * LV), (int)(4 * LV), (int)(7 * LV), alpha));//红色刻度
		ege_line(x + w * 150 / 680,y + h * 195 / 860, x + w * 140 / 680, y + h * 195 / 860);//上1弧边刻度
		ege_line(x + w * 647 / 680, y + h * 195 / 860, x + w * 637 / 680, y + h * 195 / 860);//上4弧边刻度
		ege_arc(x + w * 40 / 680, y + h * 140 / 860, 110 * w / 680, 110 * w / 680, 344, 16);//上1红弧
		ege_arc(x + w * 537 / 680, y + h * 140 / 860, 110 * w / 680, 110 * w / 680, 344, 16);//上4红弧

		setcolor(EGERGBA((int)(221 * LV), (int)(221 * LV), (int)(221 * LV), alpha));//白色刻度
		ege_line(x + w * 95 / 680, y + h * 146 / 860, x + w * 95 / 680, y + h * 140 / 860);//上1弧中刻度
		ege_line(x + w * 592 / 680, y + h * 146 / 860, x + w * 592 / 680, y + h * 140 / 860);//上4弧中刻度
		ege_line(x + w * 40 / 680, y + h * 195 / 860, x + w * 50 / 680, y + h * 195 / 860);//上1弧边刻度
		ege_line(x + w * 537 / 680, y + h * 195 / 860, x + w * 547 / 680, y + h * 195 / 860);//上4弧边刻度

		setcolor(EGERGBA((int)(230 * LV), (int)(162 * LV), (int)(27 * LV), alpha));//橙色刻度
		double x1, y1, x2, y2;
		x1 = x + w * 155 / 680;
		y1 = y + h * 195 / 860;
		x2 = x + w * 145 / 680;
		y2 = y + h * 195 / 860;
		rotate_point(&x1, &y1, x + 95 * w / 680, y + h * 195 / 860, -35 * M_PI / 180);
		rotate_point(&x2, &y2, x + 95 * w / 680, y + h * 195 / 860, -35 * M_PI / 180);
		ege_line(x1, y1, x2, y2);//上1弧橙色

		x1 = x + w * 652 / 680;
		y1 = y + h * 195 / 860;
		x2 = x + w * 642 / 680;
		y2 = y + h * 195 / 860;
		rotate_point(&x1, &y1, x + w * 592 / 680, y + h * 195 / 860, -35 * M_PI / 180);
		rotate_point(&x2, &y2, x + w * 592 / 680, y + h * 195 / 860, -35 * M_PI / 180);
		ege_line(x1, y1, x2, y2);//上2弧橙色


	}//弧，红色，橙色刻度

	{
		setlinecolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
		double x1, y1, x2, y2;
		x1 = x + w * 160 / 680;
		y1 = y + h * 195 / 860;
		x2 = x + w * 140 / 680;
		y2 = y + h * 195 / 860;
		rotate_point(&x1, &y1, x + 95 * w / 680, y + h * 195 / 860, -105 * M_PI / 180);
		rotate_point(&x2, &y2, x + 95 * w / 680, y + h * 195 / 860, -105 * M_PI / 180);
		ege_line(x1, y1, x2, y2);//上1弧橙色

		x1 = x + w * 657 / 680;
		y1 = y + h * 195 / 860;
		x2 = x + w * 637 / 680;
		y2 = y + h * 195 / 860;
		rotate_point(&x1, &y1, x + w * 592 / 680, y + h * 195 / 860, -105 * M_PI / 180);
		rotate_point(&x2, &y2, x + w * 592 / 680, y + h * 195 / 860, -105 * M_PI / 180);
		ege_line(x1, y1, x2, y2);//上2弧橙色


	}//弧，绿色刻度
	


	setcolor(EGERGBA((int)(56 * LV), (int)(71 * LV), (int)(68 * LV), alpha));
	ege_rectangle(x + w * 18 / 680, y + h * 228 / 860, w * 10 / 68, h * 26 / 680);//中左上

}//矩形黑色背景


void font(double x, double y, double w, double h, BYTE alpha, double LV) {
	settextjustify(CENTER_TEXT, CENTER_TEXT);//字体对齐方式,居中对齐
	setfont(w / 680 * 28, w / 680 * 9, "MS Reference Sans Serif",0,0, 600,false,false,false);
	setbkmode(TRANSPARENT);//去除文字背景色


	{
		
		settextcolor(EGEARGB(alpha, (int)(221 * LV), (int)(221 * LV), (int)(221 * LV)));//白色，透明度
		setfont(w / 680 * 28, w / 680 * 9, "MS Reference Sans Serif", 0, 0, 600, false, false, false);
		outtextxy(x + w * 45 / 680, y + h * 115 / 860, "EGT");
		outtextxy(x + w * 635 / 680, y + h * 115 / 860, "EGT");
		outtextxy(x + w * 333 / 680, y + h * 115 / 860, "THR");
		outtextxy(x + w * 335 / 680, y + h * 173 / 860, "N1");
		setfont(w / 680 * 24, w / 680 * 7, "MS Reference Sans Serif", 0, 0, 600, false, false, false);
		outtextxy(x + w * 206 / 680, y + h * 138 / 860, "0");
		outtextxy(x + w * 226 / 680, y + h * 89 / 860, "5");
		outtextxy(x + w * 266 / 680, y + h * 118 / 860, "10");
		outtextxy(x + w * 416 / 680, y + h * 138 / 860, "0");
		outtextxy(x + w * 430 / 680, y + h * 89 / 860, "5");
		outtextxy(x + w * 473 / 680, y + h * 118 / 860, "10");

		settextcolor(EGEARGB(alpha, (int)(72 * LV), (int)(192 * LV), (int)(190 * LV)));//蓝色，透明度

		setfont(w / 680 * 26, w / 680 * 7, "MS Reference Sans Serif", 0, 0, 600, false, false, false);
		outtextxy(x + w * 42 / 680, y + h * 140 / 860, "°C");
		outtextxy(x + w * 635 / 680, y + h * 140 / 860, "°C");

		setfont(w / 680 * 32, w / 680 * 12, "MS Reference Sans Serif", 0, 0, 600, false, false, false);
		outtextxy(x + w * 258 / 680, y + h * 39 / 860, "TOGA");

		setfont(w / 680 * 28, w / 680 * 5, "MS Reference Sans Serif", 0, 0, 600, false, false, false);
		outtextxy(x + w * 332 / 680, y + h * 135 / 860, "%");
		outtextxy(x + w * 332 / 680, y + h * 196 / 860, "%");

		settextcolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度

		setfont(w / 680 * 32, w / 680 * 7, "MS Reference Sans Serif", 0, 0, 600, false, false, false);
		outtextxy(x + w * 406 / 680, y + h * 39 / 860, "%");
		setfont(w / 680 * 28, w / 680 * 10, "MS Reference Sans Serif", 0, 0, 500, false, false, false);
		outtextxy(x + w * 524 / 680, y + h * 42 / 860, "PACKS");

		//上区域


		settextcolor(EGEARGB(alpha, (int)(221 * LV), (int)(221 * LV), (int)(221 * LV)));//白色，透明度

		setfont(w / 680 * 28, w / 680 * 9, "MS Reference Sans Serif", 0, 0, 600, false, false, false);
		outtextxy(x + w * 62 / 680, y + h * 792 / 860, "TAT");
		outtextxy(x + w * 62 / 680, y + h * 816 / 860, "SAT");
		outtextxy(x + w * 62 / 680, y + h * 840 / 860, "ISA");
		outtextxy(x + w * 267 / 680, y + h * 792 / 860, "FLT");
		outtextxy(x + w * 484 / 680, y + h * 792 / 860, "GW");
		outtextxy(x + w * 502 / 680, y + h * 816 / 860, "GW/CG");
		outtextxy(x + w * 489 / 680, y + h * 840 / 860, "FOB");

		settextcolor(EGEARGB(alpha, (int)(74 * LV), (int)(192 * LV), (int)(190 * LV)));//蓝色，透明度

		setfont(w / 680 * 26, w / 680 * 7, "MS Reference Sans Serif", 0, 0, 600, false, false, false);
		outtextxy(x + w * 185 / 680, y + h * 791 / 860, "°C");
		outtextxy(x + w * 185 / 680, y + h * 815 / 860, "°C");
		outtextxy(x + w * 185 / 680, y + h * 840 / 860, "°C");
		outtextxy(x + w * 655 / 680, y + h * 791 / 860, "KG");
		outtextxy(x + w * 655 / 680, y + h * 840 / 860, "KG");
		outtextxy(x + w * 655 / 680, y + h * 815 / 860,"%");
		//下区域
	}
	


	

}//字
// 旋转函数：将点 (x, y) 绕中心 (cx, cy) 旋转 angle 弧度
void rotate_point(double *x, double *y, double cx, double cy, double angle) {
	float dx = *x - cx;
	float dy = *y - cy;
	*x = dx * cos(angle) - dy * sin(angle) + cx;
	*y = dx * sin(angle) + dy * cos(angle) + cy;
}

void draw_left(double x, double y, double w, double h, double angle,double LV,int alpha) {
	setcolor(EGEARGB(alpha,(int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
	//ege_line(x + w * 95 / 680, y + h * 195 / 860, x + w * 150 / 680, y + h * 195 / 860);//直线起始坐标
	//ege_circle(x + w * 232 / 680, y + h * 120 / 860, w * 10 /680);//圆心起始坐标
	angle += 140 + 220 * sharedData.THR / 100;//从0开始移动
	if (angle < 140) {
		angle = 140;
	}//限制角度
	if (angle > 360) {
		angle = 360;
	}//限制角度
	double x1, y1, x2, y2;
	x1 = x + w * 232 / 680;
	y1 = y + h * 120 / 860;
	x2 = x + w * 287 / 680;
	y2 = y + h * 120 / 860;
	rotate_point(&x1, &y1, x + w * 232 / 680, y + h * 120 / 860, angle * M_PI / 180);
	rotate_point(&x2, &y2, x + w * 232 / 680, y + h * 120 / 860, angle * M_PI / 180);
	ege_line(x1, y1, x2, y2);
	x1 = x + w * 292 / 680;
	y1 = y + h * 120 / 860;
	rotate_point(&x1, &y1, x + w * 232 / 680, y + h * 120 / 860, angle * M_PI / 180);
	setcolor(EGEARGB(alpha, (int)(3 * LV), (int)(118 * LV), (int)(118 * LV)));//绿色，透明度
	ege_circle(x1, y1, w * 5 / 680);//尾部圆形
}//上1扇形指针

void draw_right(double x, double y, double w, double h, double angle,double LV,int alpha) {
	setcolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
	//ege_line(x + w * 95 / 680, y + h * 195 / 860, x + w * 150 / 680, y + h * 195 / 860);//直线起始坐标
	//ege_circle(x + w * 232 / 680, y + h * 120 / 860, w * 10 /680);//圆心起始坐标
	angle += 140 + 220 * sharedData.THR / 100;//从0开始移动
	if (angle < 140) {
		angle = 140;
	}//限制角度
	if (angle > 360) {
		angle = 360;
	}//限制角度
	double x1, y1, x2, y2;
	x1 = x + w * 443 / 680;
	y1 = y + h * 120 / 860;
	x2 = x + w * 498 / 680;
	y2 = y + h * 120 / 860;
	rotate_point(&x1, &y1, x + w * 443 / 680, y + h * 120 / 860, angle * M_PI / 180);
	rotate_point(&x2, &y2, x + w * 443 / 680, y + h * 120 / 860, angle * M_PI / 180);
	ege_line(x1, y1, x2, y2);
	x1 = x + w * 503 / 680;
	y1 = y + h * 120 / 860;
	rotate_point(&x1, &y1, x + w * 443 / 680, y + h * 120 / 860, angle * M_PI / 180);
	setcolor(EGEARGB(alpha, (int)(3 * LV), (int)(118 * LV), (int)(118 * LV)));//绿色，透明度
	ege_circle(x1, y1, w * 5 / 680);//尾部圆形

}//上2扇形指针

//1.排气温度，2.起飞/复飞推力模式，3.推力手柄位置，4.低压压气机转速，5.总温（总温，即飞机周围空气的实际温度加上因摩擦产生的温升），6.静温（不考虑摩擦），7.ISA偏差（标准大气模型，ISA+-）,8.飞机总重量，9.总重与重心组合数据，10.飞机剩余燃油重量
void upDate(double x, double y, double w, double h, BYTE alpha, double LV) {
	char str[20];

	//ege_rectangle(x + w * 63 / 680, y + h * 180 / 860, w * 65 / 680, h * 30 / 860);//上1矩形
	//ege_rectangle(x + w * 220 / 680, y + h * 130 / 860, w * 85 / 680, h * 30 / 860);//上2矩形
	//ege_rectangle(x + w * 430 / 680, y + h * 130 / 860, w * 85 / 680, h * 30 / 860);//上3矩形
	//ege_rectangle(x + w * 560 / 680, y + h * 180 / 860, w * 65 / 680, h * 30 / 860);//上4矩形
	setcolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色
	setfont(w / 680 * 30, w / 680 * 12, "MS Reference Sans Serif", 0, 0, 200, false, false, false);
	outtextxy(x + w * 63 / 680 + w * 65 / 680 / 2, y + h * 180 / 860 + h * 30 / 860 / 2, "683");//上1矩形数据

	snprintf(str, sizeof(str), "%.1f", sharedData.THR);
	outtextxy(x + w * 220 / 680 + w * 85 / 680 / 2, y + h * 130 / 860 + h * 30 / 860 / 2, str);//上二矩形数据
	outtextxy(x + w * 430 / 680 + w * 85 / 680 / 2, y + h * 130 / 860 + h * 30 / 860 / 2, str);//上三矩形数据

	outtextxy(x + w * 560 / 680 + w * 65 / 680 / 2, y + h * 180 / 860 + h * 30 / 860 / 2, "683");//上四矩形数据

	outtextxy(x + w * 365 / 680, y + h * 39 / 860, "100.3");//TOGA的数据

	sprintf(str,"%.1f", sharedData.N1);
	outtextxy(x + w * 240 / 680, y + h * 190 / 860, str);//N1的数据
	outtextxy(x + w * 467 / 680, y + h * 190 / 860, str);//N1的数据

	/*outtextxy(x + w * 62 / 680, y + h * 792 / 860, "TAT");
	outtextxy(x + w * 62 / 680, y + h * 816 / 860, "SAT");
	outtextxy(x + w * 62 / 680, y + h * 840 / 860, "ISA");
	outtextxy(x + w * 267 / 680, y + h * 792 / 860, "FLT");
	outtextxy(x + w * 484 / 680, y + h * 792 / 860, "GW");
	outtextxy(x + w * 502 / 680, y + h * 816 / 860, "GW/CG");
	outtextxy(x + w * 489 / 680, y + h * 840 / 860, "FOB");*/

	setfont(w / 680 * 28, w / 680 * 10, "MS Reference Sans Serif", 0, 0, 200, false, false, false);

	snprintf(str, sizeof(str), "%d", sharedData.TAT);
	outtextxy(x + w * 146 / 680, y + h * 792 / 860, str);//TAT的数据

	snprintf(str, sizeof(str), "%d", sharedData.SAT);
	outtextxy(x + w * 146 / 680, y + h * 816 / 860, str);//SAT的数据

	outtextxy(x + w * 146 / 680, y + h * 840 / 860, "-2");//ISA的数据

	outtextxy(x + w * 360 / 680, y + h * 792 / 860, "01：05：32");//FLT的数据

	setfont(w / 680 * 32, w / 680 * 12, "MS Reference Sans Serif", 0, 0, 200, false, false, false);
	outtextxy(x + w * 356 / 680, y + h * 820 / 860, "14：55：46");//FLT的数据

	setfont(w / 680 * 28, w / 680 * 10, "MS Reference Sans Serif", 0, 0, 200, false, false, false);

	snprintf(str, sizeof(str), "%d", sharedData.GW);
	outtextxy(x + w * 604 / 680, y + h * 792 / 860, str);//GW的数据

	snprintf(str, sizeof(str), "%.1f", sharedData.GW_CG);
	outtextxy(x + w * 620 / 680, y + h * 816 / 860, str);//GW/CG的数据

	snprintf(str, sizeof(str), "%d", sharedData.FOB);
	outtextxy(x + w * 608 / 680, y + h * 840 / 860, str);//FOB的数据

}//共同数据


//ENG表，左上角坐标，宽和高，亮度
void ENG_font(double x, double y, double w, double h, BYTE alpha, double LV) {
	{
		settextcolor(EGEARGB(alpha, (int)(72 * LV), (int)(192 * LV), (int)(190 * LV)));//蓝色，透明度
		setfont(w / 680 * 28, w / 680 * 5, "MS Reference Sans Serif", 0, 0, 600, false, false, false);
		outtextxy(x + w * 348 / 680, y + h * 278 / 860, "%");
		outtextxy(x + w * 348 / 680, y + h * 304 / 860, "%");
		setfont(w / 680 * 26, w / 680 * 10, "MS Reference Sans Serif", 0, 0, 500, false, false, false);
		outtextxy(x + w * 312 / 680, y + h * 461 / 860, "°C");
		outtextxy(x + w * 312 / 680, y + h * 738 / 860, "°C");
		setfont(w / 680 * 30, w / 680 * 12, "Liberation Mono", 0, 0, 600, false, false, false);
		outtextxy(x + w * 318 / 680, y + h * 520 / 860, "PSI");
		outtextxy(x + w * 312 / 680, y + h * 347 / 860, "KG/H");
		outtextxy(x + w * 312 / 680, y + h * 411 / 860, "QT");


		settextcolor(EGEARGB(alpha, (int)(221 * LV), (int)(221 * LV), (int)(221 * LV)));//白色，透明度
		outtextxy(x + w * 312 / 680, y + h * 278 / 860, "N2");
		outtextxy(x + w * 312 / 680, y + h * 304 / 860, "N3");
		outtextxy(x + w * 312 / 680, y + h * 325 / 860, "FF");
		outtextxy(x + w * 312 / 680, y + h * 373 / 860, "OIL");
		outtextxy(x + w * 278 / 680, y + h * 566 / 860, "VIB");
		outtextxy(x + w * 323 / 680, y + h * 566 / 860, "N1");
		outtextxy(x + w * 312 / 680, y + h * 591 / 860, "N2");
		outtextxy(x + w * 313 / 680, y + h * 615 / 860, "N3");
		outtextxy(x + w * 312 / 680, y + h * 712 / 860, "NAC");



		settextcolor(EGEARGB(alpha, (int)(67 * LV), (int)(86 * LV), (int)(122 * LV)));//浅蓝色，透明度
		setfont(w / 680 * 34, w / 680 * 14, "Liberation Mono", 0, 0, 600, false, false, false);
		outtextxy(x + w * 48 / 680, y + h * 245 / 860, "ENG");
	}//字
}


//ENG的仪表
void ENG_bk(double x, double y, double w, double h, BYTE alpha, double LV) {
	double x1, y1, x2, y2;
	setlinecolor(EGEARGB(alpha, (int)(221 * LV), (int)(221 * LV), (int)(221 * LV)));//白色，透明度
	setlinewidth(w / 680 * 2);//线条粗细
	ege_arc(x + w * (144 - 60) / 680, y + h * (428 - 60) / 860, 120 * w / 680, 120 * w / 680, 180, 180);//中1弧
	x1 = x + w * (144 + 60 - 12) / 680;
	y1 = y + h * 428 / 860;
	x2 = x + w * (144 + 60 + 12) / 680;
	y2 = y + h * 428 / 860;
	rotate_point(&x1, &y1, x + w * 144 / 680, y + h * 428 / 860, -35 * M_PI / 180);
	rotate_point(&x2, &y2, x + w * 144 / 680, y + h * 428 / 860, -35 * M_PI / 180);
	setlinecolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
	ege_line(x1, y1, x2, y2);
	setlinecolor(EGEARGB(alpha, (int)(169 * LV), (int)(5 * LV), (int)(5 * LV)));//红色，透明度
	setlinewidth(w / 680 * 4);//线条粗细
	ege_arc(x + w * (144 - 56.9) / 680, y + h * (428 - 56.9) / 860, 113.8 * w / 680, 113.8 * w / 680, 180, 12);//中1红弧
	setlinecolor(EGEARGB(alpha, (int)(169 * LV), (int)(169 * LV), (int)(18 * LV)));//黄色，透明度
	ege_arc(x + w * (144 - 56.9) / 680, y + h * (428 - 56.9) / 860, 113.8 * w / 680, 113.8 * w / 680, 192, 6);//中1黄弧



	setlinecolor(EGEARGB(alpha, (int)(221 * LV), (int)(221 * LV), (int)(221 * LV)));//白色，透明度
	setlinewidth(w / 680 * 2);//线条粗细
	ege_arc(x + w * (538 - 60) / 680, y + h * (428 - 60) / 860, 120 * w / 680, 120 * w / 680, 180, 180);//中2弧
	x1 = x + w * (538 + 60 - 12) / 680;
	y1 = y + h * 428 / 860;
	x2 = x + w * (538 + 60 + 12) / 680;
	y2 = y + h * 428 / 860;
	rotate_point(&x1, &y1, x + w * 538 / 680, y + h * 428 / 860, -35 * M_PI / 180);
	rotate_point(&x2, &y2, x + w * 538 / 680, y + h * 428 / 860, -35 * M_PI / 180);
	setlinecolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
	ege_line(x1, y1, x2, y2);
	setlinecolor(EGEARGB(alpha, (int)(169 * LV), (int)(5 * LV), (int)(5 * LV)));//红色，透明度
	setlinewidth(w / 680 * 4);//线条粗细
	ege_arc(x + w * (538 - 56.9) / 680, y + h * (428 - 56.9) / 860, 113.8 * w / 680, 113.8 * w / 680, 180, 12);//中1红弧
	setlinecolor(EGEARGB(alpha, (int)(169 * LV), (int)(169 * LV), (int)(18 * LV)));//黄色，透明度
	ege_arc(x + w * (538 - 56.9) / 680, y + h * (428 - 56.9) / 860, 113.8 * w / 680, 113.8 * w / 680, 192, 6);//中1黄弧



	setlinecolor(EGEARGB(alpha, (int)(221 * LV), (int)(221 * LV), (int)(221 * LV)));//白色，透明度
	setlinewidth(w / 680 * 2);//线条粗细
	ege_arc(x + w * (144 - 60) / 680, y + h * (533 - 60) / 860, 120 * w / 680, 120 * w / 680, 180, 180);//中3弧
	ege_line(x + w * (144 + 60 - 6) / 680, y + h * 533 / 860, x + w * (144 + 60) / 680, y + h * 533 / 860);//边刻度
	ege_line(x + w * (144 - 60) / 680, y + h * 533 / 860, x + w * (144 - 60 + 6) / 680, y + h * 533 / 860);//边刻度
	x1 = x + w * (144 + 60 - 12) / 680;
	y1 = y + h * 533 / 860;
	x2 = x + w * (144 + 60 + 12) / 680;
	y2 = y + h * 533 / 860;
	rotate_point(&x1, &y1, x + w * 144 / 680, y + h * 533 / 860, -15 * M_PI / 180);
	rotate_point(&x2, &y2, x + w * 144 / 680, y + h * 533 / 860, -15 * M_PI / 180);
	setlinecolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
	ege_line(x1, y1, x2, y2);



	setlinecolor(EGEARGB(alpha, (int)(221 * LV), (int)(221 * LV), (int)(221 * LV)));//白色，透明度
	ege_arc(x + w * (538 - 60) / 680, y + h * (533 - 60) / 860, 120 * w / 680, 120 * w / 680, 180, 180);//中4弧
	ege_line(x + w * (538 + 60 - 6) / 680, y + h * 533 / 860, x + w * (538 + 60) / 680, y + h * 533 / 860);//边刻度
	ege_line(x + w * (538 - 60) / 680, y + h * 533 / 860, x + w * (538 - 60 + 6) / 680, y + h * 533 / 860);//边刻度
	x1 = x + w * (538 + 60 - 12) / 680;
	y1 = y + h * 533 / 860;
	x2 = x + w * (538 + 60 + 12) / 680;
	y2 = y + h * 533 / 860;
	rotate_point(&x1, &y1, x + w * 538 / 680, y + h * 533 / 860, -15 * M_PI / 180);
	rotate_point(&x2, &y2, x + w * 538 / 680, y + h * 533 / 860, -15 * M_PI / 180);
	setlinecolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
	ege_line(x1, y1, x2, y2);



	setlinecolor(EGEARGB(alpha, (int)(221 * LV), (int)(221 * LV), (int)(221 * LV)));//白色，透明度
	ege_arc(x + w * (144 - 60) / 680, y + h * (765 - 60) / 860, 120 * w / 680, 120 * w / 680, 180, 180);//中5弧
	ege_line(x + w * (144 + 60 - 6) / 680, y + h * 765 / 860, x + w * (144 + 60) / 680, y + h * 765 / 860);//边刻度
	ege_line(x + w * (144 - 60) / 680, y + h * 765 / 860, x + w * (144 - 60 + 6) / 680, y + h * 765 / 860);//边刻度
	x1 = x + w * (144 + 60 - 12) / 680;
	y1 = y + h * 765 / 860;
	x2 = x + w * (144 + 60 + 12) / 680;
	y2 = y + h * 765 / 860;
	rotate_point(&x1, &y1, x + w * 144 / 680, y + h * 765 / 860, -35 * M_PI / 180);
	rotate_point(&x2, &y2, x + w * 144 / 680, y + h * 765 / 860, -35 * M_PI / 180);
	setlinecolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
	ege_line(x1, y1, x2, y2);



	setlinecolor(EGEARGB(alpha, (int)(221 * LV), (int)(221 * LV), (int)(221 * LV)));//白色，透明度
	ege_arc(x + w * (538 - 60) / 680, y + h * (765 - 60) / 860, 120 * w / 680, 120 * w / 680, 180, 180);//中6弧
	ege_line(x + w * (538 + 60 - 6) / 680, y + h * 765 / 860, x + w * (538 + 60) / 680, y + h * 765 / 860);//边刻度
	ege_line(x + w * (538 - 60) / 680, y + h * 765 / 860, x + w * (538 - 60 + 6) / 680, y + h * 765 / 860);//边刻度
	x1 = x + w * (538 + 60 - 12) / 680;
	y1 = y + h * 765 / 860;
	x2 = x + w * (538 + 60 + 12) / 680;
	y2 = y + h * 765 / 860;
	rotate_point(&x1, &y1, x + w * 538 / 680, y + h * 765 / 860, -35 * M_PI / 180);
	rotate_point(&x2, &y2, x + w * 538 / 680, y + h * 765 / 860, -35 * M_PI / 180);
	setlinecolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
	ege_line(x1, y1, x2, y2);

	//线条
	setlinecolor(EGEARGB(alpha, (int)(131 * LV), (int)(131 * LV), (int)(131 * LV)));//白色，透明度
	ege_line(x + w * 218 / 680, y + h * 278 / 860, x + w * 258 / 680, y + h * 278 / 860);//边刻度
	ege_line(x + w * 393 / 680, y + h * 278 / 860, x + w * 433 / 680, y + h * 278 / 860);//边刻度

	ege_line(x + w * 218 / 680, y + h * 304 / 860, x + w * 258 / 680, y + h * 304 / 860);//边刻度
	ege_line(x + w * 393 / 680, y + h * 304 / 860, x + w * 433 / 680, y + h * 304 / 860);//边刻度

	ege_line(x + w * 218 / 680, y + h * 325 / 860, x + w * 258 / 680, y + h * 325 / 860);//边刻度
	ege_line(x + w * 393 / 680, y + h * 325 / 860, x + w * 433 / 680, y + h * 325 / 860);//边刻度

	ege_line(x + w * 218 / 680, y + h * 566 / 860, x + w * 258 / 680, y + h * 566 / 860);//边刻度
	ege_line(x + w * 393 / 680, y + h * 566 / 860, x + w * 433 / 680, y + h * 566 / 860);//边刻度

	ege_line(x + w * 218 / 680, y + h * 591 / 860, x + w * 258 / 680, y + h * 591 / 860);//边刻度
	ege_line(x + w * 393 / 680, y + h * 591 / 860, x + w * 433 / 680, y + h * 591 / 860);//边刻度

	ege_line(x + w * 218 / 680, y + h * 615 / 860, x + w * 258 / 680, y + h * 615 / 860);//边刻度
	ege_line(x + w * 393 / 680, y + h * 615 / 860, x + w * 433 / 680, y + h * 615 / 860);//边刻度

}

//ENG表的数据
void ENG_upDate(double x, double y, double w, double h, BYTE alpha, double LV) {
	settextcolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
	setfont(w / 680 * 29, w / 680 * 12, "MS Reference Sans Serif", 0, 0, 100, false, false, false);
	outtextxy(x + w * 144 / 680, y + h * 278 / 860, "91.6");
	outtextxy(x + w * 536 / 680, y + h * 278 / 860, "91.6");//N2数据

	char str[20];
	sprintf(str, "%.1f", sharedData.N3);
	outtextxy(x + w * 144 / 680, y + h * 302 / 860, str);
	outtextxy(x + w * 536 / 680, y + h * 302 / 860, str);//N3数据

	outtextxy(x + w * 144 / 680, y + h * 325 / 860, "3951");
	outtextxy(x + w * 536 / 680, y + h * 325 / 860, "3951");//FF数据

	outtextxy(x + w * 144 / 680, y + h * 428 / 860, "18.4");
	outtextxy(x + w * 536 / 680, y + h * 428 / 860, "18.4");//QT数据

	outtextxy(x + w * 144 / 680, y + h * 455 / 860, "173");
	outtextxy(x + w * 536 / 680, y + h * 455 / 860, "173");//度数

	outtextxy(x + w * 144 / 680, y + h * 528 / 860, "336");
	outtextxy(x + w * 536 / 680, y + h * 528 / 860, "336");//PSI

	outtextxy(x + w * 144 / 680, y + h * 566 / 860, "0.2");
	outtextxy(x + w * 536 / 680, y + h * 566 / 860, "0.2");//N1

	outtextxy(x + w * 144 / 680, y + h * 591 / 860, "0.1");
	outtextxy(x + w * 536 / 680, y + h * 591 / 860, "0.1");//N2

	outtextxy(x + w * 144 / 680, y + h * 615 / 860, "0.1");
	outtextxy(x + w * 536 / 680, y + h * 615 / 860, "0.1");//N3

}


//DEFRD表，左上角坐标，宽和高，亮度
void DEFRD(double x, double y, double w, double h, BYTE alpha, double LV) {
	settextcolor(EGEARGB(alpha, (int)(67 * LV), (int)(86 * LV), (int)(122 * LV)));//浅蓝色，透明度
	setfont(w / 680 * 33, w / 680 * 15, "Liberation Mono", 0, 0, 600, false, false, false);
	outtextxy(x + w * 67 / 680, y + h * 245 / 860, "DEFRD");
}


//WHEEL表的字
void WHEEL_font(double x, double y, double w, double h, BYTE alpha, double LV) {
	settextcolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
	setfont(w / 680 * 27, w / 680 * 12, "Liberation Mono", 0, 0, 600, false, false, false);

	outtextxy(x + w * 222 / 680, y + h * 252 / 860, "Y");
	outtextxy(x + w * 212 / 680, y + h * 362 / 860, "Y");  
	outtextxy(x + w * 237 / 680, y + h * 362 / 860, "S");
	//PIMAGE img = newimage();
	//getimage(img, "C:\\Users\\ljb\\Pictures\\Screenshots\\WHEEL_sd.png");
	//putimage(
	//	x + w * 227 / 680, y + h * 350 / 860,                  // 目标位置
	//	w * 20 / 680,         // 缩放后的宽度
	//	w * 20 / 680,        // 缩放后的高度
	//	img,                           // 源图片
	//	0, 0,                          // 从原图(0,0)开始截取
	//	getwidth(img), getheight(img)  // 截取整个原图
	//);

	outtextxy(x + w * 67 / 680, y + h * 395 / 860, "G");
	outtextxy(x + w * 384 / 680, y + h * 395 / 860, "G");
	outtextxy(x + w * 106 / 680, y + h * 583 / 860, "Y");
	outtextxy(x + w * 356 / 680, y + h * 583 / 860, "Y");
	outtextxy(x + w * 106 / 680, y + h * 648 / 860, "S");
	//putimage(
	//	x + w * 96 / 680, y + h * 636 / 860,                  // 目标位置
	//	w * 20 / 680,         // 缩放后的宽度
	//	w * 20 / 680,        // 缩放后的高度
	//	img,                           // 源图片
	//	0, 0,                          // 从原图(0,0)开始截取
	//	getwidth(img), getheight(img)  // 截取整个原图
	//);
	outtextxy(x + w * 356 / 680, y + h * 648 / 860, "S");
	//putimage(
	//	x + w * 346 / 680, y + h * 636 / 860,                  // 目标位置
	//	w * 20 / 680,         // 缩放后的宽度
	//	w * 20 / 680,        // 缩放后的高度
	//	img,                           // 源图片
	//	0, 0,                          // 从原图(0,0)开始截取
	//	getwidth(img), getheight(img)  // 截取整个原图
	//);
	outtextxy(x + w * 106 / 680, y + h * 710 / 860, "G");
	outtextxy(x + w * 356 / 680, y + h * 710 / 860, "G");

	settextcolor(EGEARGB(alpha, (int)(74 * LV), (int)(192 * LV), (int)(190 * LV)));//蓝色，透明度
	outtextxy(x + w * 238 / 680, y + h * 670 / 860, "°C");
	outtextxy(x + w * 238 / 680, y + h * 745 / 860, "PSI");
	
	settextcolor(EGEARGB(alpha, (int)(180 * LV), (int)(180 * LV), (int)(180 * LV)));//白色
	outtextxy(x + w * 435 / 680, y + h * 243 / 860, "BRK");
	outtextxy(x + w * 491 / 680, y + h * 243 / 860, "CTL");
	outtextxy(x + w * 450 / 680, y + h * 316 / 860, "STEER");
	outtextxy(x + w * 518 / 680, y + h * 316 / 860, "CTL");
	outtextxy(x + w * 505 / 680, y + h * 443 / 860, "Y");
	outtextxy(x + w * 545 / 680, y + h * 443 / 860, "BRK");
	outtextxy(x + w * 607 / 680, y + h * 443 / 860, "MODE");
	outtextxy(x + w * 532 / 680, y + h * 516 / 860, "Y");
	outtextxy(x + w * 580 / 680, y + h * 516 / 860, "ACCU");
	outtextxy(x + w * 532 / 680, y + h * 612 / 860, "G");
	outtextxy(x + w * 580 / 680, y + h * 612 / 860, "ACCU");
	outtextxy(x + w * 505 / 680, y + h * 724 / 860, "G");
	outtextxy(x + w * 545 / 680, y + h * 724 / 860, "BRK");
	outtextxy(x + w * 607 / 680, y + h * 724 / 860, "MODE");
	
}

//背景
void WHEEL_bk(double x, double y, double w, double h, BYTE alpha, double LV) {
	settextcolor(EGEARGB(alpha, (int)(67 * LV), (int)(86 * LV), (int)(122 * LV)));//浅蓝色，透明度
	setfont(w / 680 * 33, w / 680 * 15, "Liberation Mono", 0, 0, 600, false, false, false);
	outtextxy(x + w * 64 / 680, y + h * 246 / 860, "WHEEL");


	setfillcolor(EGEARGB(alpha, (int)(46 * LV), (int)(46 * LV), (int)(46 * LV)));//深灰色，透明度
	//从上往下，从左往右，矩形
	ege_fillrect(x + w * 212 / 680, y + h * 240 / 860,w * 20 / 680, w * 20 / 680);//Y
	ege_fillrect(x + w * 202 / 680, y + h * 350 / 860, w * 20 / 680, w * 20 / 680);//Y
	ege_fillrect(x + w * 227 / 680, y + h * 350 / 860, w * 20 / 680, w * 20 / 680);//⚡
	ege_fillrect(x + w * 57 / 680, y + h * 383 / 860, w * 20 / 680, w * 20 / 680);//G
	ege_fillrect(x + w * 374 / 680, y + h * 383 / 860, w * 20 / 680, w * 20 / 680);//G
	ege_fillrect(x + w * 96 / 680, y + h * 571 / 860, w * 20 / 680, w * 20 / 680);//Y
	ege_fillrect(x + w * 346 / 680, y + h * 571 / 860, w * 20 / 680, w * 20 / 680);//Y
	ege_fillrect(x + w * 96 / 680, y + h * 636 / 860, w * 20 / 680, w * 20 / 680);//⚡
	ege_fillrect(x + w * 346 / 680, y + h * 636 / 860, w * 20 / 680, w * 20 / 680);//⚡
	ege_fillrect(x + w * 96 / 680, y + h * 698 / 860, w * 20 / 680, w * 20 / 680);//G
	ege_fillrect(x + w * 346 / 680, y + h * 698 / 860, w * 20 / 680, w * 20 / 680);//G

	setcolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
	setlinewidth(w / 680 * 2);//线条粗细
	//从上往下，从左往右，绿色线条和圆
	ege_line(x + w * 175 / 680, y + h * 266 / 860, x + w * 218 / 680, y + h * 266 / 860);//线
	ege_circle(x + w * 170 / 680, y + h * 266 / 860, w * 5 / 680);//圆
	ege_line(x + w * 226 / 680, y + h * 266 / 860, x + w * 269 / 680, y + h * 266 / 860);//线
	ege_circle(x + w * 274 / 680, y + h * 266 / 860, w * 5 / 680);//圆

	ege_line(x + w * 184 / 680, y + h * 330 / 860, x + w * 213 / 680, y + h * 330 / 860);//线
	ege_circle(x + w * 222 / 680, y + h * 330 / 860, w * 5 / 680);//圆
	ege_line(x + w * 231 / 680, y + h * 330 / 860, x + w * 261 / 680, y + h * 330 / 860);//线


	ege_line(x + w * 18 / 680, y + h * 411 / 860, x + w * 62 / 680, y + h * 411 / 860);//线
	ege_circle(x + w * 13 / 680, y + h * 411 / 860, w * 5 / 680);//圆

	ege_line(x + w * 388 / 680, y + h * 411 / 860, x + w * 432 / 680, y + h * 411 / 860);//线
	ege_circle(x + w * 437 / 680, y + h * 411 / 860, w * 5 / 680);//圆


	setlinecolor(EGEARGB(alpha, (int)(123 * LV), (int)(123 * LV), (int)(123 * LV)));//浅灰色
	//横灰线
	ege_line(x + w * 70 / 680, y + h * 581 / 860, x + w * 96 / 680, y + h * 581 / 860);//线
	ege_line(x + w * 116 / 680, y + h * 581 / 860, x + w * 142 / 680, y + h * 581 / 860);//线
	ege_line(x + w * 320 / 680, y + h * 581 / 860, x + w * 346 / 680, y + h * 581 / 860);//线
	ege_line(x + w * 366 / 680, y + h * 581 / 860, x + w * 392 / 680, y + h * 581 / 860);//线

	ege_line(x + w * 70 / 680, y + h * 708 / 860, x + w * 96 / 680, y + h * 708 / 860);//线
	ege_line(x + w * 116 / 680, y + h * 708 / 860, x + w * 142 / 680, y + h * 708 / 860);//线
	ege_line(x + w * 320 / 680, y + h * 708 / 860, x + w * 346 / 680, y + h * 708 / 860);//线
	ege_line(x + w * 366 / 680, y + h * 708 / 860, x + w * 392 / 680, y + h * 708 / 860);//线

	//竖灰线
	ege_line(x + w * 106 / 680, y + h * 591 / 860, x + w * 106 / 680, y + h * 636 / 860);//线
	ege_line(x + w * 106 / 680, y + h * 656 / 860, x + w * 106 / 680, y + h * 698 / 860);//线
	ege_line(x + w * 356 / 680, y + h * 591 / 860, x + w * 356 / 680, y + h * 636 / 860);//线
	ege_line(x + w * 356 / 680, y + h * 656 / 860, x + w * 356 / 680, y + h * 698 / 860);//线

	setlinecolor(EGEARGB(alpha, (int)(153 * LV), (int)(153 * LV), (int)(153 * LV)));//灰色
	//大矩形
	ege_rectangle(x + w * 470 / 680, y + h * 410 / 860, w * 204 / 680, h * 370 / 860);
	ege_line(x + w * 470 / 680, y + h * 499 / 860, x + w * 674 / 680, y + h * 499 / 860);//线
	ege_line(x + w * 470 / 680, y + h * 596 / 860, x + w * 674 / 680, y + h * 596 / 860);//线
	ege_line(x + w * 470 / 680, y + h * 691 / 860, x + w * 674 / 680, y + h * 691 / 860);//线
	

	setlinecolor(EGEARGB(alpha, (int)(73 * LV), (int)(73 * LV), (int)(73 * LV)));//深深灰色
	//折线
	ege_point points[] = {
		x + w * 509 / 680, y + h * 259 / 860,  // 点1
		x + w * 591 / 680, y + h * 259 / 860,   // 点2
		x + w * 591 / 680, y + h * 233 / 860,  // 点3
		x + w * 572 / 680, y + h * 233 / 860,  // 点4
	};
	// 绘制不封闭多边形（折线）
	ege_polyline(4,points);


	//折线
	ege_point points2[] = {
		x + w * (509 + 24) / 680, y + h * 278 / 860,  // 点1
		x + w * (591 + 24) / 680, y + h * 278 / 860,   // 点2
		x + w * (591 + 24) / 680, y + h * 252 / 860,  // 点3
		x + w * (572 + 24) / 680, y + h * 252 / 860,  // 点4
	};
	// 绘制不封闭多边形（折线）
	ege_polyline(4, points2);

	//折线
	ege_point points3[] = {
		x + w * (509 + 48) / 680, y + h * 297 / 860,  // 点1
		x + w * (591 + 48) / 680, y + h * 297 / 860,   // 点2
		x + w * (591 + 48) / 680, y + h * 270 / 860,  // 点3
		x + w * (572 + 48) / 680, y + h * 270 / 860,  // 点4
	};
	// 绘制不封闭多边形（折线）
	ege_polyline(4, points3);

	//折线
	ege_point points4[] = {
		x + w * (509 + 35) / 680, y + h * 330 / 860,  // 点1
		x + w * (591 + 35) / 680, y + h * 330 / 860,   // 点2
		x + w * (591 + 35) / 680, y + h * 303 / 860,  // 点3
		x + w * (572 + 35) / 680, y + h * 303 / 860,  // 点4
	};
	// 绘制不封闭多边形（折线）
	ege_polyline(4, points4);

	ege_point points5[] = {
		x + w * (509 + 59) / 680, y + h * 349 / 860,  // 点1
		x + w * (591 + 59) / 680, y + h * 349 / 860,   // 点2
		x + w * (591 + 59) / 680, y + h * 322 / 860,  // 点3
		x + w * (572 + 59) / 680, y + h * 322 / 860,  // 点4
	};
	// 绘制不封闭多边形（折线）
	ege_polyline(4, points5);


	//圆弧
	setlinewidth(w / 680 * 2);//线条粗细
	setcolor(EGERGBA((int)(221 * LV), (int)(221 * LV), (int)(221 * LV), alpha));//白色弧
	ege_arc(x + w * (575 - 47) / 680, y + h * (585 - 47) / 860, 94 * w / 680, 94 * w / 680, 195, 150);
	double x1, y1, x2, y2;
	x1 = x + w * 622 / 680;
	y1 = y + h * 585 / 860;
	x2 = x + w * 632 / 680;
	y2 = y + h * 585 / 860;
	rotate_point(&x1, &y1, x + 575 * w / 680, y + h * 585 / 860, 196 * M_PI / 180);
	rotate_point(&x2, &y2, x + 575 * w / 680, y + h * 585 / 860, 196 * M_PI / 180);
	ege_line(x1, y1, x2, y2);//白色
	x1 = x + w * 622 / 680;
	y1 = y + h * 585 / 860;
	x2 = x + w * 632 / 680;
	y2 = y + h * 585 / 860;
	rotate_point(&x1, &y1, x + 575 * w / 680, y + h * 585 / 860, -15 * M_PI / 180);
	rotate_point(&x2, &y2, x + 575 * w / 680, y + h * 585 / 860, -15 * M_PI / 180);
	ege_line(x1, y1, x2, y2);//白色
	ege_line(x + w * 575 / 680, y + h * 538 / 860, x + w * 575 / 680, y + h * 531 / 860);//线
	setcolor(EGERGBA((int)(215 * LV), (int)(215 * LV), (int)(103 * LV), alpha));//黄色弧
	setlinewidth(w / 680 * 3);//线条粗细
	ege_arc(x + w * (575 - 49) / 680, y + h * (585 - 49) / 860, 98 * w / 680, 98 * w / 680, 197, 72);

	setcolor(EGERGBA((int)(221 * LV), (int)(221 * LV), (int)(221 * LV), alpha));//白色弧
	setlinewidth(w / 680 * 2);//线条粗细
	ege_arc(x + w * (575 - 47) / 680, y + h * (585 - 47 + 94) / 860, 94 * w / 680, 94 * w / 680, 195, 150);
	x1 = x + w * 622 / 680;
	y1 = y + h * 679 / 860;
	x2 = x + w * 632 / 680;
	y2 = y + h * 679 / 860;
	rotate_point(&x1, &y1, x + 575 * w / 680, y + h * 679 / 860, 196 * M_PI / 180);
	rotate_point(&x2, &y2, x + 575 * w / 680, y + h * 679 / 860, 196 * M_PI / 180);
	ege_line(x1, y1, x2, y2);//白色
	x1 = x + w * 622 / 680;
	y1 = y + h * 679 / 860;
	x2 = x + w * 632 / 680;
	y2 = y + h * 679 / 860;
	rotate_point(&x1, &y1, x + 575 * w / 680, y + h * 679 / 860, -15 * M_PI / 180);
	rotate_point(&x2, &y2, x + 575 * w / 680, y + h * 679 / 860, -15 * M_PI / 180);
	ege_line(x1, y1, x2, y2);//白色
	ege_line(x + w * 575 / 680, y + h * 632 / 860, x + w * 575 / 680, y + h * 625 / 860);//线
	setcolor(EGERGBA((int)(215 * LV), (int)(215 * LV), (int)(103 * LV), alpha));//黄色弧
	setlinewidth(w / 680 * 3);//线条粗细
	ege_arc(x + w * (575 - 49) / 680, y + h * (679 - 49) / 860, 98 * w / 680, 98 * w / 680, 197, 72);


	//前轮
	setcolor(EGERGBA((int)(91 * LV), (int)(91 * LV), (int)(91 * LV), alpha));//灰色弧，间隔5，高度27

	outtextxy(x + w * 106 / 680, y + h * 583 / 860, "Y");
	outtextxy(x + w * 356 / 680, y + h * 583 / 860, "Y");

	ege_line(x + w * 42 / 680, y + h * 567 / 860, x + w * 42 / 680, y + h * 594 / 860);//线
	ege_line(x + w * 47 / 680, y + h * 567 / 860, x + w * 47 / 680, y + h * 594 / 860);//线
	ege_line(x + w * 52 / 680, y + h * 567 / 860, x + w * 52 / 680, y + h * 594 / 860);//线
	ege_line(x + w * 57 / 680, y + h * 567 / 860, x + w * 57 / 680, y + h * 594 / 860);//线

	ege_line(x + w * 155 / 680, y + h * 567 / 860, x + w * 155 / 680, y + h * 594 / 860);//线
	ege_line(x + w * 160 / 680, y + h * 567 / 860, x + w * 160 / 680, y + h * 594 / 860);//线
	ege_line(x + w * 165 / 680, y + h * 567 / 860, x + w * 165 / 680, y + h * 594 / 860);//线
	ege_line(x + w * 170 / 680, y + h * 567 / 860, x + w * 170 / 680, y + h * 594 / 860);//线

	ege_line(x + w * 292 / 680, y + h * 567 / 860, x + w * 292 / 680, y + h * 594 / 860);//线
	ege_line(x + w * 297 / 680, y + h * 567 / 860, x + w * 297 / 680, y + h * 594 / 860);//线
	ege_line(x + w * 302 / 680, y + h * 567 / 860, x + w * 302 / 680, y + h * 594 / 860);//线
	ege_line(x + w * 307 / 680, y + h * 567 / 860, x + w * 307 / 680, y + h * 594 / 860);//线

	ege_line(x + w * 405 / 680, y + h * 567 / 860, x + w * 405 / 680, y + h * 594 / 860);//线
	ege_line(x + w * 410 / 680, y + h * 567 / 860, x + w * 410 / 680, y + h * 594 / 860);//线
	ege_line(x + w * 415 / 680, y + h * 567 / 860, x + w * 415 / 680, y + h * 594 / 860);//线
	ege_line(x + w * 420 / 680, y + h * 567 / 860, x + w * 420 / 680, y + h * 594 / 860);//线

	//后轮
	ege_line(x + w * 42 / 680, y + h * 694 / 860, x + w * 42 / 680, y + h * 721 / 860);//线
	ege_line(x + w * 47 / 680, y + h * 694 / 860, x + w * 47 / 680, y + h * 721 / 860);//线
	ege_line(x + w * 52 / 680, y + h * 694 / 860, x + w * 52 / 680, y + h * 721 / 860);//线
	ege_line(x + w * 57 / 680, y + h * 694 / 860, x + w * 57 / 680, y + h * 721 / 860);//线

	ege_line(x + w * 155 / 680, y + h * 694 / 860, x + w * 155 / 680, y + h * 721 / 860);//线
	ege_line(x + w * 160 / 680, y + h * 694 / 860, x + w * 160 / 680, y + h * 721 / 860);//线
	ege_line(x + w * 165 / 680, y + h * 694 / 860, x + w * 165 / 680, y + h * 721 / 860);//线
	ege_line(x + w * 170 / 680, y + h * 694 / 860, x + w * 170 / 680, y + h * 721 / 860);//线

	ege_line(x + w * 292 / 680, y + h * 694 / 860, x + w * 292 / 680, y + h * 721 / 860);//线
	ege_line(x + w * 297 / 680, y + h * 694 / 860, x + w * 297 / 680, y + h * 721 / 860);//线
	ege_line(x + w * 302 / 680, y + h * 694 / 860, x + w * 302 / 680, y + h * 721 / 860);//线
	ege_line(x + w * 307 / 680, y + h * 694 / 860, x + w * 307 / 680, y + h * 721 / 860);//线

	ege_line(x + w * 405 / 680, y + h * 694 / 860, x + w * 405 / 680, y + h * 721 / 860);//线
	ege_line(x + w * 410 / 680, y + h * 694 / 860, x + w * 410 / 680, y + h * 721 / 860);//线
	ege_line(x + w * 415 / 680, y + h * 694 / 860, x + w * 415 / 680, y + h * 721 / 860);//线
	ege_line(x + w * 420 / 680, y + h * 694 / 860, x + w * 420 / 680, y + h * 721 / 860);//线



	//圆角矩形一角
	setcolor(EGEARGB(alpha, (int)(123 * LV), (int)(123 * LV), (int)(123 * LV)));//浅灰色
	setlinewidth(w / 680 * 2);//线条粗细
	ege_point point[4] = {
		{ x + w * 184 / 680, y + h * 300 / 860 },  // 起点
		{ x + w * 205 / 680, y + h * 294 / 860 },  // 控制点
		{ x + w * 212 / 680, y + h * 302 / 860 },  // 终点
		{ x + w * 212 / 680, y + h * 302 / 860 }   // 额外点（与终点重合）
	};
	ege_bezier(4, point);
	line(x + w * 212 / 680, y + h * 302 / 860, x + w * 212 / 680, y + h * 312 / 860);//左上

	ege_point point2[4] = {
	{ x + w * 184 / 680, y + h * 396 / 860 },  // 起点
	{ x + w * 205 / 680, y + h * 401 / 860 },  // 控制点：y值从294改为308（增大）
	{ x + w * 212 / 680, y + h * 395 / 860 },  // 终点
	{ x + w * 212 / 680, y + h * 395 / 860 }   // 额外点
	};
	ege_bezier(4, point2);
	line(x + w * 212 / 680, y + h * 386 / 860, x + w * 212 / 680, y + h * 396 / 860);//左下

	ege_point point3[4] = {
	{ x + w * 236 / 680, y + h * 302 / 860 },  // 起点（右侧）
	{ x + w * 236 / 680, y + h * 302 / 860 },  // 控制点（调整到左侧更远处）
	{ x + w * 243 / 680, y + h * 294 / 860 },  // 终点（左侧）
	{ x + w * 264 / 680, y + h * 300 / 860 }   // 额外点
	};
	ege_bezier(4, point3);
	line(x + w * 236 / 680, y + h * 302 / 860,x + w * 236 / 680, y + h * 312 / 860);//右上

	ege_point point4[4] = {
	{ x + w * 236 / 680, y + h * 396 / 860 },  // 起点（右侧）
	{ x + w * 243 / 680, y + h * 401 / 860 },  // 控制点（下方）
	{ x + w * 264 / 680, y + h * 397 / 860 },  // 终点（左侧）
	{ x + w * 264 / 680, y + h * 397 / 860 }   // 额外点
	};
	ege_bezier(4, point4);
	line(x + w * 236 / 680, y + h * 386 / 860,x + w * 236 / 680, y + h * 396 / 860);  // 终点（向下延伸）

	WHEEL_circle_rectangle(x, y, w, h, alpha, LV,33,530);
	WHEEL_circle_rectangle(x, y, w, h, alpha, LV, 283, 530);
	WHEEL_circle_rectangle(x, y, w, h, alpha, LV, 33, 660);
	WHEEL_circle_rectangle(x, y, w, h, alpha, LV, 283, 660);
	
}

//圆角矩形得一角
void WHEEL_circle_rectangle(double x, double y, double w, double h, BYTE alpha, double LV, double x1, double y1) {
	setcolor(EGEARGB(alpha, (int)(123 * LV), (int)(123 * LV), (int)(123 * LV)));//浅灰色
	setlinewidth(w / 680 * 2);//线条粗细
	ege_point point[4] = {
		{ x + w * x1 / 680, y + h * y1 / 860 },  // 起点
		{ x + w * (x1 + 21) / 680, y + h * (y1 - 6) / 860 },  // 控制点
		{ x + w * (x1 + 28) / 680, y + h * (y1 + 2) / 860 },  // 终点
		{ x + w * (x1 + 28) / 680, y + h * (y1 + 2) / 860 }   // 额外点（与终点重合）
	};
	ege_bezier(4, point);
	line(x + w * (x1 + 28) / 680, y + h * (y1 + 2) / 860, x + w * (x1 + 28) / 680, y + h * (y1 + 12) / 860);//左上

	ege_point point2[4] = {
	{ x + w * x1 / 680, y + h * (y1 + 96) / 860 },  // 起点
		{ x + w * (x1 + 21) / 680, y + h * (y1 - 6 + 96 + 11) / 860 },  // 控制点
		{ x + w * (x1 + 28) / 680, y + h * (y1 + 2 + 96 - 3) / 860 },  // 终点
		{ x + w * (x1 + 28) / 680, y + h * (y1 + 2 + 96 - 3) / 860 }   // 额外点（与终点重合）
	};
	ege_bezier(4, point2);
	line(x + w * (x1 + 28) / 680, y + h * (y1 + 84 + 2) / 860, x + w * (x1 + 28) / 680, y + h * (y1 + 12 + 84) / 860);//左下

	ege_point point3[4] = {
		{ x + w * (x1 + 118) / 680, y + h * (y1 + 2) / 860 },  // 起点
		{ x + w * (x1 + 118) / 680, y + h * (y1 + 2) / 860 },  // 控制点
		{ x + w * (x1 + 7 + 118) / 680, y + h * (y1 - 6) / 860 },  // 终点
		{ x + w * (x1 + 28 + 118) / 680, y + h * (y1 + 0) / 860 }   // 额外点（与终点重合）
	};
	ege_bezier(4, point3);
	line(x + w * (x1 + 118) / 680, y + h * (y1 + 2) / 860, x + w * (x1 + 118) / 680, y + h * (y1 + 12) / 860);//右上

	ege_point point4[4] = {
		{ x + w * (x1 + 118) / 680, y + h * (y1 + 96) / 860 },  // 起点
		{ x + w * (x1 + 118 + 7) / 680, y + h * (y1 - 6 + 96 + 11) / 860 },  // 控制点
		{ x + w * (x1 + 28 + 118) / 680, y + h * (y1 + 2 + 96 - 1) / 860 },  // 终点
		{ x + w * (x1 + 28 + 118) / 680, y + h * (y1 + 2 + 96 - 1) / 860 }   // 额外点（与终点重合）
	};
	ege_bezier(4, point4);
	line(x + w * (x1 + 118) / 680, y + h * (y1 + 84 + 2) / 860, x + w * (x1 + 118) / 680, y + h * (y1 + 12 + 84) / 860);//左下
}

//更新数据
void WHEEL_upDate(double x, double y, double w, double h, BYTE alpha, double LV) {
	setcolor(EGEARGB(alpha, (int)(40 * LV), (int)(200 * LV), (int)(45 * LV)));//绿色，透明度
	setfont(w / 680 * 27, w / 680 * 12, "Liberation Mono", 0, 0, 600, false, false, false);

	//折线的字
	outtextxy(x + w * 579 / 680, y + h * 246 / 860, "1");
	outtextxy(x + w * 606 / 680, y + h * 266 / 860, "2");
	outtextxy(x + w * 630 / 680, y + h * 285 / 860, "E");
	outtextxy(x + w * 614 / 680, y + h * 317 / 860, "1");
	outtextxy(x + w * 641 / 680, y + h * 337 / 860, "2");

	//圆弧转动
	double x1, y1, x2, y2;
	double angle = -30;
	x1 = x + w * 612 / 680;
	y1 = y + h * 585 / 860;
	x2 = x + w * 632 / 680;
	y2 = y + h * 585 / 860;
	rotate_point(&x1, &y1, x + 575 * w / 680, y + h * 585 / 860, angle * M_PI / 180);
	rotate_point(&x2, &y2, x + 575 * w / 680, y + h * 585 / 860, angle * M_PI / 180);
	ege_line(x1, y1, x2, y2);//绿色

	x1 = x + w * 612 / 680;
	y1 = y + h * 679 / 860;
	x2 = x + w * 632 / 680;
	y2 = y + h * 679 / 860;
	rotate_point(&x1, &y1, x + 575 * w / 680, y + h * 679 / 860, angle * M_PI / 180);
	rotate_point(&x2, &y2, x + 575 * w / 680, y + h * 679 / 860, angle * M_PI / 180);
	ege_line(x1, y1, x2, y2);//绿色

	//轮子数据
	setfont(w / 680 * 26, w / 680 * 11, "MS Reference Sans Serif", 0, 0, 100, false, false, false);
	
	outtextxy(x + w * 189 / 680, y + h * 383 / 860, "207");
	outtextxy(x + w * 260 / 680, y + h * 383 / 860, "176");

	outtextxy(x + w * 31 / 680, y + h * 544 / 860, "9");
	outtextxy(x + w * 166 / 680, y + h * 544 / 860, "14");
	outtextxy(x + w * 38 / 680, y + h * 614 / 860, "195");
	outtextxy(x + w * 174 / 680, y + h * 614 / 860, "187");

	outtextxy(x + w * 285 / 680, y + h * 544 / 860, "11");
	outtextxy(x + w * 417 / 680, y + h * 544 / 860, "9");
	outtextxy(x + w * 285 / 680, y + h * 614 / 860, "187");
	outtextxy(x + w * 425 / 680, y + h * 614 / 860, "185");

	outtextxy(x + w * 31 / 680, y + h * 673 / 860, "12");
	outtextxy(x + w * 166 / 680, y + h * 673 / 860, "6");
	outtextxy(x + w * 38 / 680, y + h * 745 / 860, "204");
	outtextxy(x + w * 174 / 680, y + h * 745 / 860, "198");

	outtextxy(x + w * 285 / 680, y + h * 673 / 860, "6");
	outtextxy(x + w * 417 / 680, y + h * 673 / 860, "6");
	outtextxy(x + w * 285 / 680, y + h * 745 / 860, "189");
	outtextxy(x + w * 425 / 680, y + h * 745 / 860, "190");

	//矩形数据
	setfont(w / 680 * 27, w / 680 * 14, "Liberation Mono", 0, 0, 300, false, false, false);
	ege_rectangle(x + w * 474 / 680, y + h * 456 / 860, w * 60 / 680, w * 28 / 680);
	outtextxy(x + w * 503 / 680, y + h * 470 / 860, "NORM");
	outtextxy(x + w * 568 / 680, y + h * 470 / 860, "ALTN");
	outtextxy(x + w * 635 / 680, y + h * 470 / 860, "EMER");

	ege_rectangle(x + w * 474 / 680, y + h * 737 / 860, w * 60 / 680, w * 28 / 680);
	outtextxy(x + w * 503 / 680, y + h * 751 / 860, "NORM");
	outtextxy(x + w * 568 / 680, y + h * 751 / 860, "ALTN");
	outtextxy(x + w * 635 / 680, y + h * 751 / 860, "EMER");
	
	
}


